@@ -12,6 +12,17 @@ GemfileHelper.load_dotenv do |dotenv_dir| |
||
| 12 | 12 |
end |
| 13 | 13 |
end |
| 14 | 14 |
|
| 15 |
+# Introduces a scope for gem loading based on a condition |
|
| 16 |
+def if_true(condition) |
|
| 17 |
+ if condition |
|
| 18 |
+ yield |
|
| 19 |
+ else |
|
| 20 |
+ # When not including the gems, we still want our Gemfile.lock |
|
| 21 |
+ # to include them, so we scope them to an unsupported platform. |
|
| 22 |
+ platform :ruby_18, &proc |
|
| 23 |
+ end |
|
| 24 |
+end |
|
| 25 |
+ |
|
| 15 | 26 |
# Optional libraries. To conserve RAM, comment out any that you don't need, |
| 16 | 27 |
# then run `bundle` and commit the updated Gemfile and Gemfile.lock. |
| 17 | 28 |
gem 'twilio-ruby', '~> 3.11.5' # TwilioAgent |
@@ -118,6 +129,11 @@ group :development do |
||
| 118 | 129 |
gem 'capistrano-rails', '~> 1.1' |
| 119 | 130 |
gem 'capistrano-bundler', '~> 1.1.4' |
| 120 | 131 |
|
| 132 |
+ if_true(ENV['SPRING']) do |
|
| 133 |
+ gem 'spring-commands-rspec', '~> 1.0.4' |
|
| 134 |
+ gem 'spring', '~> 1.6.3' |
|
| 135 |
+ end |
|
| 136 |
+ |
|
| 121 | 137 |
group :test do |
| 122 | 138 |
gem 'coveralls', require: false |
| 123 | 139 |
gem 'delorean' |
@@ -147,17 +163,6 @@ gem 'tzinfo', '>= 1.2.0' # required by rails; 1.2.0 has support for *BSD and Sol |
||
| 147 | 163 |
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw] |
| 148 | 164 |
|
| 149 | 165 |
|
| 150 |
-# Introduces a scope for gem loading based on a condition |
|
| 151 |
-def if_true(condition) |
|
| 152 |
- if condition |
|
| 153 |
- yield |
|
| 154 |
- else |
|
| 155 |
- # When not including the gems, we still want our Gemfile.lock |
|
| 156 |
- # to include them, so we scope them to an unsupported platform. |
|
| 157 |
- platform :ruby_18, &proc |
|
| 158 |
- end |
|
| 159 |
-end |
|
| 160 |
- |
|
| 161 | 166 |
on_heroku = ENV['ON_HEROKU'] || |
| 162 | 167 |
ENV['HEROKU_POSTGRESQL_ROSE_URL'] || |
| 163 | 168 |
ENV['HEROKU_POSTGRESQL_GOLD_URL'] || |
@@ -496,6 +496,9 @@ GEM |
||
| 496 | 496 |
slop (3.6.0) |
| 497 | 497 |
spectrum-rails (1.3.4) |
| 498 | 498 |
railties (>= 3.1) |
| 499 |
+ spring (1.6.3) |
|
| 500 |
+ spring-commands-rspec (1.0.4) |
|
| 501 |
+ spring (>= 0.9.1) |
|
| 499 | 502 |
sprockets (3.5.2) |
| 500 | 503 |
concurrent-ruby (~> 1.0) |
| 501 | 504 |
rack (> 1, < 3) |
@@ -653,6 +656,8 @@ DEPENDENCIES |
||
| 653 | 656 |
shoulda-matchers |
| 654 | 657 |
slack-notifier (~> 1.0.0) |
| 655 | 658 |
spectrum-rails |
| 659 |
+ spring (~> 1.6.3) |
|
| 660 |
+ spring-commands-rspec (~> 1.0.4) |
|
| 656 | 661 |
string-scrub |
| 657 | 662 |
therubyracer (~> 0.12.2) |
| 658 | 663 |
tumblr_client! |
@@ -8,7 +8,7 @@ guard 'livereload' do |
||
| 8 | 8 |
watch(%r{(app|vendor)(/assets/\w+/(.+\.(css|js|html|png|jpg))).*}) { |m| "/assets/#{m[3]}" }
|
| 9 | 9 |
end |
| 10 | 10 |
|
| 11 |
-guard :rspec, cmd: 'bundle exec rspec' do |
|
| 11 |
+guard :rspec, cmd: ENV['SPRING'] ? 'bundle exec spring rspec' : 'bundle exec rspec' do |
|
| 12 | 12 |
watch(%r{^spec/.+_spec\.rb$})
|
| 13 | 13 |
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
| 14 | 14 |
watch('spec/spec_helper.rb') { "spec" }
|
@@ -1,4 +1,8 @@ |
||
| 1 | 1 |
#!/usr/bin/env ruby |
| 2 |
+begin |
|
| 3 |
+ load File.expand_path("../spring", __FILE__)
|
|
| 4 |
+rescue LoadError |
|
| 5 |
+end |
|
| 2 | 6 |
APP_PATH = File.expand_path('../../config/application', __FILE__)
|
| 3 | 7 |
require_relative '../config/boot' |
| 4 | 8 |
require 'rails/commands' |
@@ -1,4 +1,8 @@ |
||
| 1 | 1 |
#!/usr/bin/env ruby |
| 2 |
+begin |
|
| 3 |
+ load File.expand_path("../spring", __FILE__)
|
|
| 4 |
+rescue LoadError |
|
| 5 |
+end |
|
| 2 | 6 |
require_relative '../config/boot' |
| 3 | 7 |
require 'rake' |
| 4 | 8 |
Rake.application.run |
@@ -1,3 +1,7 @@ |
||
| 1 | 1 |
#!/usr/bin/env ruby |
| 2 |
+begin |
|
| 3 |
+ load File.expand_path("../spring", __FILE__)
|
|
| 4 |
+rescue LoadError |
|
| 5 |
+end |
|
| 2 | 6 |
require 'bundler/setup' |
| 3 | 7 |
load Gem.bin_path('rspec-core', 'rspec')
|
@@ -0,0 +1,15 @@ |
||
| 1 |
+#!/usr/bin/env ruby |
|
| 2 |
+ |
|
| 3 |
+# This file loads spring without using Bundler, in order to be fast. |
|
| 4 |
+# It gets overwritten when you run the `spring binstub` command. |
|
| 5 |
+ |
|
| 6 |
+unless defined?(Spring) |
|
| 7 |
+ require "rubygems" |
|
| 8 |
+ require "bundler" |
|
| 9 |
+ |
|
| 10 |
+ if match = Bundler.default_lockfile.read.match(/^GEM$.*?^ (?: )*spring \((.*?)\)$.*?^$/m) |
|
| 11 |
+ Gem.paths = { "GEM_PATH" => [Bundler.bundle_path.to_s, *Gem.path].uniq }
|
|
| 12 |
+ gem "spring", match[1] |
|
| 13 |
+ require "spring/binstub" |
|
| 14 |
+ end |
|
| 15 |
+end |